/**
 * <p>Copyright:Copyright(c) 2019</p>
 * <p>Company:Professional</p>
 * <p>Package:org.cesgroup.course.cor</p>
 * <p>File:Interceptor.java</p>
 * <p>类更新历史信息</p>
 * @todo chanlong(陈龙) 创建于 Sep 12, 2019 11:12:46 AM
 */
package org.cesgroup.course.interceptor;

/**
 * <p>描述: </p>
 * <p>Company: Professional</p>
 * @author chanlong(陈龙)
 * @date Sep 12, 2019 11:12:46 AM
 * @version 1.0.2019
 */
// 拦截器接口，所有代理对象需实现此接口
public interface Interceptor {
	
	// 此方法需由代理对象重写
	Object intercept(final Invocation invocation) throws Throwable;

	default Object apply(final Object target) {
		return Chain.wrap(target, this);
	}
}
